High precision current sources are widely used in the process of testing and characterizing semiconductor devices. Such sources are often used in tests in which the sourced current is varied (swept) over several orders of magnitude (e.g., several pico-amperes to hundreds of mili-amperes).
As an example, we assume a logarithmic current sweep from a minimum current (Imin) to a maximum current (Imax), with Imin=100 pA and Imax=10 mA (i.e., eight orders of magnitude), with six steps per current decade (e.g., between 10 nA to 100 nA, the currents at each step would be 10 nA, 15.8 nA, 25.1 nA, 39.8 nA, 63.1 nA, and 100 nA, following the relation In/In−1=100.2). Given that, generally for such an application, the current should not return to zero between steps, internal adjustments should take place “on-the-fly”, with minimal glitches or added noise on the actual current flowing to the DUT. As now discussed, this may be difficult to satisfy, since high-accuracy current sources usually rely on precision resistors (Rnet) for current sensing and feedback.
We now discuss this issue with reference to FIG. 1. The output of the N-bit DAC 102 is the input voltage (Vin) to the current source. The feedback voltage is the voltage drop across Rnet, namely Idut*Rnet (neglecting offset voltages and input currents), leading to the following relation:
                                                        I              dut                        ⁢                          R              net                                =                      V                          i              ⁢                                                          ⁢              n                                      ⁢                                  ⁢        or                            (        1        )                                          I          dut                =                              V                          i              ⁢                                                          ⁢              n                                            R            net                                              (        2        )            Selecting the OpAmp 104 and the Diff Amp 106 to be high gain, low-leakage, and low offset (instrumentation-grade) components, the effect of Voff (offset voltage) and Iin (input leakage current) is basically negligible, except in situations with very low currents and very low levels of Vin. Furthermore, both Voff and Iin can be taken into account by measuring them separately at the beginning of each test, since they stay fairly stable as long as the temperature does not change significantly, and then compensating based on those measurements.
Precision DACs are usually limited to a relatively narrow voltage range (0 to ±2 Volt is typical). A 20-bit DAC (also typical for such applications) has a resolution of approximately 4/(220) Volt˜4 μV. If the maximum current is limited to 200 mA, for example, a combination of Vin=Vin (max)=2.0 V and Rnet=10Ω would be appropriate. On the other extreme, a current of 100 pA can be achieved with Vin=100 μV and Rnet=1 MΩ, or alternatively with Vin=10 mV and Rnet=100 MΩ (it is typically recommended to have Vin>>Voff, as long as it is possible).
Regardless of the specific selection of Vin, there is generally a need for a wide range of Rnet values. This by itself is not a problem, as long as the same Rnet is used for the entire experiment. Unfortunately, in tests involving current sweeps with a ratio of |Imax/Imin|>100 (two orders of magnitude), accommodating for a wide range of values is impractical. When voltage sources (VS) are used, switching different Rnet resistors in and out is possible, as long as switching transients are properly suppressed. Current sources (CS), on the other hand, rely on the voltage drop across Rnet to complete the feedback loop, meaning that in-line switching is fundamentally problematic.